#include<bits/stdc++.h>
using namespace std;
int flip;
void out(int x,int y){
    if(flip)swap(x,y);
    printf("%d %d\n",x,y);
}
int main(){
    freopen("bishop.in","r",stdin);
    freopen("bishop.out","w",stdout);
    int n,m;
    scanf("%d%d",&n,&m);
    flip=0;
    if(n>m){
        flip=1;
        swap(n,m);
    }
    if(n==m || (n%2==0 && m%2==0))printf("%d\n",n+m-2);
    else printf("%d\n",n+m-1);
    if(n==m){
        for(int i=1;i<=n;i++)out(i,1);
        for(int i=2;i<n;i++)out(i,m);
        return 0;
    }
    for(int i=1;i<=n;i++){
        out(i,1);
        out(i,m);
    }
    if(n&1){
        for(int i=n/2+2;i<=m-n/2-1;i++)out((n+1)/2,i);
    }
    else{
        for(int i=n/2+2;i<=m-n/2-1;i+=2){
            out(n/2,i);
            out(n/2+1,i);
        }
    }
    return 0;
}